package com.vnl.system.aaa.util;

import org.vnl.platform.dk.util.PDKException;
import org.vnl.platform.dk.util.SEVERITY;

public class AAException extends PDKException {

    /**
     * 
     */
    private static final long serialVersionUID = 2706830745509315706L;


    public static final String AA_SYSTEM_ID = "AA";
    public static final String DEFAULT_BUNDLE_NAME = "resource.com.von.system.aaa.AA";

    public AAException() {
        super();
    }

    public AAException(String systemId, String msg, String severity, Object[] parameters, Throwable cause) {
        super(systemId, msg, severity, parameters, cause);
    }
    
    public AAException(String msg, Throwable cause) {
        super(AA_SYSTEM_ID,msg,SEVERITY.EXCEPTION.toString(), null, cause);
    }
    
    public AAException(String msg) {
        super(AA_SYSTEM_ID,msg,SEVERITY.EXCEPTION.toString(), null, null);
    }
    
    public AAException(String msg, String severity) {
        super(AA_SYSTEM_ID, msg, severity, null, null);
    }
    
    public AAException(String msg, String severity, Throwable cause) {
        super(AA_SYSTEM_ID, msg, severity, null, cause);
    }
    
    public AAException(String msg, String severity, Object[] parameters) {
        super(AA_SYSTEM_ID, msg, severity, parameters, null);
    }
    
    public AAException(String msg, String severity, Object[] parameters, Throwable cause) {
        super(AA_SYSTEM_ID, msg, severity, parameters, cause);
    }
    
    public AAException(String msg, Object[] parameters) {
        super(AA_SYSTEM_ID, msg, SEVERITY.EXCEPTION.toString(), parameters, null);
    }
    
    public AAException(String msg, Object[] parameters, Throwable cause) {
        super(AA_SYSTEM_ID, msg, SEVERITY.EXCEPTION.toString(), parameters, cause);
    }

    public AAException(AAErrCode code) {
        super(AA_SYSTEM_ID, code.toString(), code.getSeverityString(), null, null);
    }

    public AAException(AAErrCode code, Throwable cause) {
        super(AA_SYSTEM_ID, code.toString(), code.getSeverityString(), null, cause);
    }
    
    public AAException(AAErrCode code, Object[] parameters) {
        super(AA_SYSTEM_ID, code.toString(), code.getSeverityString(), parameters, null);
    }
    
    public AAException(AAErrCode code, Object[] parameters, Throwable cause) {
        super(AA_SYSTEM_ID, code.toString(), code.getSeverityString(), parameters, cause);
    }

	@Override
	protected String getDefaultBundleName() {
		return DEFAULT_BUNDLE_NAME;
	}
    
}
